package blog.service.impl.back;

import blog.dao.back.TagBackMapper;
import blog.entity.Tag;
import blog.service.back.TagBackService;
import blog.vo.back.AddTagVO;
import blog.vo.back.ByTagStatusGetAllTagVO;
import blog.vo.back.ByTagUuidGetTagInfoVO;
import blog.vo.back.UpdateTagInfoVO;
import blog.vo.common.PaginationVO;
import cn.hutool.core.bean.BeanUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 　　* @description: TODO
 * 　　* @param
 * 　　* @return
 * 　　* @throws
 * 　　* @author Administrator
 * 　　* @date $ $
 *
 */
@Service
public class TagBackServiceImpl implements TagBackService {
    @Autowired
    private TagBackMapper tagBackMapper;

    @Override
    public List<Tag> getAllTag(PaginationVO paginationVO) {
        return tagBackMapper.getAllTag(paginationVO.getPageNum(),paginationVO.getPageSize());
    }

    @Override
    public List<Tag> byTagStatusGetAllTag(ByTagStatusGetAllTagVO byTagStatusGetAllTag) {
        return tagBackMapper.byTagStatusGetAllTag(byTagStatusGetAllTag);
    }

    @Override
    public Tag byTagUuidGetTagInfo(ByTagUuidGetTagInfoVO byTagUuidGetTagInfoVO) {
        return tagBackMapper.byTagUuidGetTagInfo(byTagUuidGetTagInfoVO.getTagUuid());
    }

    @Override
    public int addTag(AddTagVO addTagVO) {
        Tag tag = BeanUtil.copyProperties(addTagVO, Tag.class);
        return tagBackMapper.addTag(tag);
    }

    @Override
    public int updateTagInfo(UpdateTagInfoVO updateTagInfo) {
        Tag tag = BeanUtil.copyProperties(updateTagInfo, Tag.class);
        return tagBackMapper.updateTagInfo(tag);
    }
}
